package com.shop.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 支付方式 实体类。
 *
 * @author 彭新才
 * @since 2024-10-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "支付方式")
@Table(value = "shop_payment")
public class ShopPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增id
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "自增id")
    private Long id;

    /**
     * 名称
     */
    @Schema(description = "名称")
    private String name;

    /**
     * 唯一标记
     */
    @Schema(description = "唯一标记")
    private String payment;

    /**
     * logo
     */
    @Schema(description = "logo")
    private String logo;

    /**
     * 插件版本
     */
    @Schema(description = "插件版本")
    private String version;

    /**
     * 适用系统版本
     */
    @Schema(description = "适用系统版本")
    private String applyVersion;

    /**
     * 插件描述
     */
    @Schema(description = "插件描述")
    private String desc;

    /**
     * 作者
     */
    @Schema(description = "作者")
    private String author;

    /**
     * 作者主页
     */
    @Schema(description = "作者主页")
    private String authorUrl;

    /**
     * 配置项规则
     */
    @Schema(description = "配置项规则")
    private String element;

    /**
     * 配置数据
     */
    @Schema(description = "配置数据")
    private String config;

    /**
     * 适用终端 php一维数组json字符串存储（pc, h5, ios, android, alipay, weixin, baidu, toutiao, qq）
     */
    @Schema(description = "适用终端 php一维数组json字符串存储（pc, h5, ios, android, alipay, weixin, baidu, toutiao, qq）")
    private String applyTerminal;

    /**
     * 原始适用终端 php一维数组json字符串存储（pc, h5, ios, android, alipay, weixin, baidu, toutiao, qq）
     */
    @Schema(description = "原始适用终端 php一维数组json字符串存储（pc, h5, ios, android, alipay, weixin, baidu, toutiao, qq）")
    private String applyTerminalOld;

    /**
     * 是否启用（0否，1是）
     */
    @Schema(description = "是否启用（0否，1是）")
    private Integer isEnable;

    /**
     * 是否对用户开放
     */
    @Schema(description = "是否对用户开放")
    private Integer isOpenUser;

    /**
     * 顺序
     */
    @Schema(description = "顺序")
    private Integer sort;

    /**
     * 添加时间
     */
    @Schema(description = "添加时间")
    private Long addTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private Long updTime;

}
